From: Timo Tijhof Date: Tue, 10 Jul 2018 04:14:28 +0000 (-0700) Subject: mediawiki.api: Simplify mw.Api constructor X-Git-Tag: 1.34.0-rc.0~4821^2 X-Git-Url: http://git.cyclocoop.org/%22.%24match%5B1%5D.%22?a=commitdiff_plain;h=fc21cbc4009a7f00d650c0d4e01f5993c0bebe3a;p=lhc%2Fweb%2Fwiklou.git mediawiki.api: Simplify mw.Api constructor * Use a different variable for the argument and the created 'defaults' object for this instance. * Don't modify the given object (it could previously modify the 'ajax.url' property). * Make the 'useUS' logic more explicit and merge it with the 'ajax.url' handling, that it previously reacted to. Change-Id: Ib1f50876359152935b8cb9b021ea0a95915808e2 --- diff --git a/resources/src/mediawiki.api/index.js b/resources/src/mediawiki.api/index.js index 0038ed8ecf..51f359c54a 100644 --- a/resources/src/mediawiki.api/index.js +++ b/resources/src/mediawiki.api/index.js @@ -91,19 +91,21 @@ * each individual request by passing them to #get or #post (or directly #ajax) later on. */ mw.Api = function ( options ) { - options = options || {}; + var defaults = $.extend( {}, options ), + setsUrl = options && options.ajax && options.ajax.url !== undefined; + + defaults.parameters = $.extend( {}, defaultOptions.parameters, defaults.parameters ); + defaults.ajax = $.extend( {}, defaultOptions.ajax, defaults.ajax ); // Force a string if we got a mw.Uri object - if ( options.ajax && options.ajax.url !== undefined ) { - options.ajax.url = String( options.ajax.url ); + if ( setsUrl ) { + defaults.ajax.url = String( defaults.ajax.url ); + } + if ( defaults.useUS === undefined ) { + defaults.useUS = !setsUrl; } - options = $.extend( { useUS: !options.ajax || !options.ajax.url }, options ); - - options.parameters = $.extend( {}, defaultOptions.parameters, options.parameters ); - options.ajax = $.extend( {}, defaultOptions.ajax, options.ajax ); - - this.defaults = options; + this.defaults = defaults; this.requests = []; };